What is @types/rimraf?
The @types/rimraf package provides TypeScript type definitions for the rimraf npm package, which is a Node.js module for recursively removing files and directories in a way similar to the `rm -rf` command in Unix/Linux. These type definitions allow TypeScript developers to use rimraf in their projects with the benefits of TypeScript's static type checking.
What are @types/rimraf's main functionalities?
Type-safe file and directory removal
This code demonstrates how to use rimraf with TypeScript to safely remove a directory. The @types/rimraf package provides the necessary type definitions for TypeScript to understand the arguments and callback structure of the rimraf function.
import rimraf from 'rimraf';
rimraf('/path/to/directory', (error) => {
if (error) {
console.error('Error removing directory:', error);
return;
}
console.log('Directory removed successfully');
});
Other packages similar to @types/rimraf
del
The del package is similar to rimraf but offers a promise-based API, making it more suitable for use in modern asynchronous JavaScript workflows. Unlike rimraf, which uses callbacks, del allows for cleaner code with async/await syntax.
fs-extra
fs-extra extends the Node.js built-in fs module, including the functionality to remove files and directories. It provides methods like `remove` and `emptyDir` which are similar to rimraf's functionality but within a broader file system manipulation library. fs-extra supports both callback and promise interfaces.
Installation
npm install --save @types/rimraf
Summary
This package contains type definitions for rimraf (https://github.com/isaacs/rimraf).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/rimraf/v2.
import glob = require('glob');
import fs = require('fs');
declare function rimraf(path: string, options: rimraf.Options, callback: (error: Error) => void): void;
declare function rimraf(path: string, callback: (error: Error) => void): void;
declare namespace rimraf {
function __promisify__(path: string, options?: Options): Promise<void>;
function sync(path: string, options?: Options): void;
let EMFILE_MAX: number;
let BUSYTRIES_MAX: number;
interface Options {
maxBusyTries?: number | undefined;
emfileWait?: number | undefined;
disableGlob?: boolean | undefined;
glob?: glob.IOptions | false | undefined;
unlink?: typeof fs.unlink | undefined;
chmod?: typeof fs.chmod | undefined;
stat?: typeof fs.stat | undefined;
lstat?: typeof fs.lstat | undefined;
rmdir?: typeof fs.rmdir | undefined;
readdir?: typeof fs.readdir | undefined;
unlinkSync?: typeof fs.unlinkSync | undefined;
chmodSync?: typeof fs.chmodSync | undefined;
statSync?: typeof fs.statSync | undefined;
lstatSync?: typeof fs.lstatSync | undefined;
rmdirSync?: typeof fs.rmdirSync | undefined;
readdirSync?: typeof fs.readdirSync | undefined;
}
}
export = rimraf;
Additional Details
Credits
These definitions were written by Carlos Ballesteros Velasco, e-cloud, Ruben Schmidmeister, and Oganexon.